﻿using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Data.Entity;
using System.Web.Mvc;
using TS2015.Models;

using System.Web;
using System;
using System.Data.Entity.Validation;
using System.Text;

namespace TS2015.Controllers
{
    public class CommonController : Controller
    {
        TS2015Context db = new TS2015Context();
        // GET: Common

        public PartialViewResult Banner()
        {
            return PartialView();
        }

        public PartialViewResult Menu()
        {
            return PartialView();
        }
        public PartialViewResult NavbarLeft()
        {
            ViewBag.LuongTruyCap = db.TbThongKes.First().LuongTruyCap;
            return PartialView();
        }

        [OutputCache(Duration=5)]
        public PartialViewResult Slide()
        {
            var slides = db.TbSlides.OrderByDescending(m=>m.ThuTu).ToArray();

            return PartialView(slides);
        }
        public PartialViewResult Footer()
        {
            return PartialView();
        }
        public ActionResult LockScreen()
        {
            return View();
        }

        [AcceptVerbs(HttpVerbs.Get)]
        public JsonResult GetMajorByPhylum(int manganh)
        {
            var major = from c in db.TbChuyenNganhs
                        where c.IDNganh == manganh
                        select c;
            return Json(new SelectList(major.ToList(), "MaChuyenNganh", "TenChuyenNganh"), JsonRequestBehavior.AllowGet);
        }
        public JsonResult GetPhylumByGroup(int HDT, string makhoithi)
        {
            //int Te = Int32.Parse(Request.Form["lbTrainingSystem"]);
            var LoadTrainingSystem = db.TbHeDaoTaos.Where(m => m.MaHeDaoTao == HDT).FirstOrDefault().TenHeDaoTao;
            var phylumD = db.TbNganhs.Where(m => m.MaNganh.Contains("D") && m.MaKhoiThi == makhoithi);
            var phylumC = db.TbNganhs.Where(m => m.MaNganh.Contains("C") && m.MaKhoiThi == makhoithi);
            if (LoadTrainingSystem.ToLower() == "Đại học chính quy".ToLower())
            {
                return Json(new SelectList(phylumD.ToList(), "IDNganh", "TenNganh"), JsonRequestBehavior.AllowGet);
            }
            else
            {
                return Json(new SelectList(phylumC.ToList(), "IDNganh", "TenNganh"), JsonRequestBehavior.AllowGet);
            }
        }
        public JsonResult GetPhylumByGroupVocational(string makhoithi)
        {
           
            var phylumC = db.TbNganhs.Where(m => m.MaNganh.Contains("C") && m.MaKhoiThi == makhoithi);
            return Json(new SelectList(phylumC.ToList(), "IDNganh", "TenNganh"), JsonRequestBehavior.AllowGet);
        }
        public JsonResult GetProvinceByCommune(string matinh)
        {
            var commune = from c in db.TbHuyens
                          where c.MaTinh == matinh
                          select c;
            return Json(new SelectList(commune.ToList(), "MaHuyen", "TenHuyen"), JsonRequestBehavior.AllowGet);
        }
        public JsonResult GetHighSchoolByProvince(string matinh)
        {
            var highschool = from c in db.TbTruongTHPTs
                             where c.MaTinh == matinh
                             select c;
            return Json(new SelectList(highschool.ToList(), "IDTruong", "TenTruong"), JsonRequestBehavior.AllowGet);
        }
        public JsonResult GetGraduateSubjectBySubjectCustom(int mamon)
        {
            var monthi = from c in db.TbMonTotNghieps
                         where c.MaMon != mamon && c.TenMon != "Toán" && c.TenMon != "Tiếng anh" && c.TenMon != "Ngữ Văn"
                         select c;
            return Json(new SelectList(monthi.ToList(), "MaMon", "TenMon"), JsonRequestBehavior.AllowGet);
        }

        public JsonResult GetGraduateSubjectByGroup(int mamontuychon, string makhoithi)
        {
            var monthi = from c in db.TbKhoiThi_MonTotNghieps
                         where c.TbMonTotNghiep.TenMon != "Toán" && c.TbMonTotNghiep.TenMon != "Tiếng anh" && c.TbMonTotNghiep.TenMon != "Ngữ Văn"
                               && c.TbMonTotNghiep.MaMon != mamontuychon && c.MaKhoiThi == makhoithi
                         select new
                         {
                             MaMon = c.MaMon,
                             TenMon = c.TbMonTotNghiep.TenMon
                         };

            return Json(monthi, JsonRequestBehavior.AllowGet);
        }
        //public JsonResult GetGroupBySubject(string subjectid)
        //{
        //    var listgroup = db.TbKhoiThis.Where(m => m.)

        //    return Json(monthi, JsonRequestBehavior.AllowGet);
        //}
        public string GetID()
        {
            string ID = "";
            var MaTS = (from p in db.TbThiSinhs orderby (p.MaTS) descending select p).FirstOrDefault();
            int Cuoi;
            string LastID;
            int NextID;

            if (MaTS == null)
            {
                NextID = 1;
            }
            else
            {
                Cuoi = Convert.ToInt32(MaTS.MaTS.ToString().Substring(4)) + 1;
                LastID = Cuoi.ToString();
                if (LastID == null)
                {
                    LastID = DateTime.Now.ToString("yyyy") + "00001";
                }
                NextID = Cuoi;
            }
            ID = DateTime.Now.ToString("yyyy") + NextID.ToString("00000");
            return ID;
        }

        public ActionResult PhieuHoanThanh()
        {
            return View("PhieuHoanThanh");
        }
        public ActionResult Profile()
        {
            return View("Profile");
        }

        [ChildActionOnly]
        public ActionResult TinNoiBat([Range(0, int.MaxValue)]int? SoLuong)
        {
            //Database.SetInitializer<TS2015Context>(null);
            int _SoLuong = SoLuong ?? -1;

            var data = db.TbTinTucs.Where(e => e.NoiBat == true);

            if (_SoLuong > -1)
                return PartialView("_TinNoiBat", data.Take(_SoLuong));
            return PartialView("_TinNoiBat", data);
        }

        [ChildActionOnly]
        [ValidateInput(false)]
        public ActionResult TinTheoTheLoai(int MaTheLoai, [Range(0, int.MaxValue)]int? SoLuong)
        {
            //Database.SetInitializer<TS2015Context>(null);
            int _SoLuong = SoLuong ?? -1;

            var data = db.TbTinTucs.Include(e => e.TbTheLoai).Where(e => e.MaTheLoai == MaTheLoai);

            if (data == null)
                return HttpNotFound();

            if (_SoLuong > -1)
                return PartialView("_TinTheoTheLoai", data.Take(_SoLuong));

            return PartialView("_TinTheoTheLoai", data);
        }

        //[ValidateInput(false)]
        public ActionResult ChiTiet(int id, string seoName)
        {
            try
            {
                var data = db.TbTinTucs.First(e => e.MaTinTuc == id);

                if (data == null)
                    return HttpNotFound();
                //Cap nhat so luot xem
                data.LuotXem = data.LuotXem + 1;
                db.Entry(data).State = EntityState.Modified;
                db.SaveChanges();

                string strSEO = DuLieuChung.NonUnicode(data.TieuDe);
                if (seoName != strSEO)
                    return RedirectToRoute("ChiTiet", new { id = id, seoName = strSEO });
                
                return View(data);
            }
            catch
            {
                return HttpNotFound();
            }

        }

        public ActionResult PhieuDK(string MaTS)
        {
            //ViewBag.HeDaoTaoKhac = Enum.GetValues(typeof(HeDaoTaoKhac));
            ViewBag.HeTrungCap = false;
            ViewBag.HeCaoDang = false;


            TbThiSinh ThiSinh = new TbThiSinh();
            if (ModelState.IsValid)
            {
                if (Session["TenDangNhap"] != null)
                    MaTS = MaTS ?? Session["TenDangNhap"].ToString();

                if (ThiSinh.MaTS == null)
                {
                    ViewBag.HeDaoTao = new SelectList(db.TbHeDaoTaos.ToList(), "MaHeDaoTao", "TenHeDaoTao");
                    ViewBag.Tinh = new SelectList(db.TbTinhs.ToList(), "MaTinh", "TenTinh");
                    ViewBag.MonTotNghiep = new SelectList(db.TbMonTotNghieps.Where(m => m.TenMon.ToLower() != "Toán".ToLower() && m.TenMon.ToLower() != "Ngữ văn".ToLower() && m.TenMon.ToLower() != "Tiếng Anh".ToLower()).ToList(), "MaMon", "TenMon");
                    ViewBag.TinhTruong = new SelectList(db.TbTinhs.ToList(), "MaTinh", "TenTinh");
                    ViewBag.Huyen = new SelectList(db.TbHuyens.ToList(), "MaHuyen", "TenHuyen");
                    ViewBag.Nganh = new SelectList(db.TbNganhs.ToList(), "IDNganh", "TenNganh");
                    ViewBag.ChuyenNganh = new SelectList(db.TbChuyenNganhs.ToList(), "MaChuyenNganh", "TenChuyenNganh");
                    ViewBag.TruongTHPT = new SelectList(db.TbTruongTHPTs.ToList(), "IDTruong", "TenTruong");
                    ViewBag.TruongDH = new SelectList(db.TbTruongDHs.ToList(), "MaTruongDH", "TenTruongDH");
                    //ViewBag.KhuVuc = new SelectList(db.TbKhuVucs.ToList(), "MaKhuVuc", "TenKhuVuc");
                    ViewBag.XepLoaiHS = new SelectList(db.TbXepLoaiHS.ToList(), "MaXepLoaiHS", "TenXepLoaiHS");
                    ViewBag.DanToc = new SelectList(db.TbDanTocs.ToList(), "MaDanToc", "TenDanToc");
                    ViewBag.DoiTuongUuTien = new SelectList(db.TbDoiTuongUuTiens.ToList(), "MaDoiTuong", "TenDoiTuong");
                    ViewBag.KhoiThi = new SelectList(db.TbKhoiThis.ToList(), "MaKhoiThi", "TenKhoiThi");
                    ViewBag.HeDaoTao = new SelectList(db.TbHeDaoTaos.ToList(), "MaHeDaoTao", "TenHeDaoTao");
                }
                else
                {
                    ThiSinh = db.TbThiSinhs.First(e => e.MaTS == MaTS);
                    var mamon = db.TbDiemTotNghieps.Include(m => m.MaTS).Where(m => m.MaTS == ThiSinh.MaTS).FirstOrDefault().MaMon;
                    ViewBag.MonTotNghiep = new SelectList(db.TbMonTotNghieps.ToList(), "MaMon", "TenMon", mamon);
                    var matinh = db.TbThiSinhs.Include(m => m.MaHuyen).Where(m => m.MaTS == ThiSinh.MaTS).FirstOrDefault().TbHuyen.MaTinh;
                    ViewBag.Tinh = new SelectList(db.TbTinhs.ToList(), "MaTinh", "TenTinh", matinh);
                    ViewBag.Huyen = new SelectList(db.TbHuyens.ToList(), "MaHuyen", "TenHuyen", ThiSinh.MaHuyen);
                    var manganh = (from m in db.TbChuyenNganhs where (m.MaChuyenNganh == ThiSinh.MaChuyenNganh) select m).First().IDNganh;
                    ViewBag.Nganh = new SelectList(db.TbNganhs.ToList(), "IDNganh", "TenNganh", manganh);
                    ViewBag.ChuyenNganh = new SelectList(db.TbChuyenNganhs.ToList(), "MaChuyenNganh", "TenChuyenNganh", ThiSinh.MaChuyenNganh);
                    var matinh2 = db.TbThiSinhs.Include(m => m.IDTruong).Where(m => m.MaTS == ThiSinh.MaTS).FirstOrDefault().TbHuyen.MaTinh;
                    ViewBag.TruongTHPT = new SelectList(db.TbTruongTHPTs.ToList(), "IDTruong", "TenTruong", ThiSinh.IDTruong);
                    ViewBag.TruongHD = new SelectList(db.TbTruongDHs.ToList(), "MaTruongDH", "TenTruongDH", ThiSinh.MaTruongDH);
                    ViewBag.TinhTruong = new SelectList(db.TbTinhs.ToList(), "MaTinh", "TenTinh", matinh2);
                    //ViewBag.KhuVuc = new SelectList(db.TbKhuVucs.ToList(), "MaKhuVuc", "TenKhuVuc", ThiSinh.MaKhuVuc);
                    ViewBag.XepLoaiHS = new SelectList(db.TbXepLoaiHS.ToList(), "MaXepLoaiHS", "TenXepLoaiHS", ThiSinh.MaXepLoaiHS);
                    ViewBag.DanToc = new SelectList(db.TbDanTocs.ToList(), "MaDanToc", "TenDanToc", ThiSinh.MaDanToc);
                    ViewBag.DoiTuongUuTien = new SelectList(db.TbDoiTuongUuTiens.ToList(), "MaDoiTuong", "TenDoiTuong", ThiSinh.MaDoiTuong);
                    var IDNganh = db.TbThiSinhs.Include(m => m.TbChuyenNganh).Where(m => m.MaTS == ThiSinh.MaTS).FirstOrDefault().TbChuyenNganh.IDNganh;
                    var makhoithi = db.TbChuyenNganhs.Include(m => m.TbNganh).Where(m => m.IDNganh == IDNganh).FirstOrDefault().TbNganh.MaKhoiThi;
                    ViewBag.KhoiThi = new SelectList(db.TbKhoiThis.ToList(), "MaKhoiThi", "TenKhoiThi", makhoithi);
                    ViewBag.HeDaoTao = new SelectList(db.TbHeDaoTaos.ToList(), "MaHeDaoTao", "TenHeDaoTao", ThiSinh.MaHeDaoTao);
                }
            }


            if (Request.IsAjaxRequest() || MaTS != null)
                return PartialView(ThiSinh);

            return View(ThiSinh);
        }

        [HttpPost]
        public ActionResult PhieuDK(TbThiSinh item,bool HeTrungCap=false, bool HeCaoDang=false)
        {
            if (item != null)
            {
                TbNguoiDung nguoidung;
                TbDiemTotNghiep diem;
                item.NgayDangKi = DateTime.Now;
                item.LanSuaCuoi = DateTime.Now;
                if (item.MaTS != null)
                {
                    db.Entry(item).State = EntityState.Modified;
                    db.SaveChanges();
                }
                else
                {
                    //if (ModelState.IsValid)
                    //{
                    item.MaTS = GetID();
                    //item.NgayDongTien = DateTime.Now;
                    //item.NgayHoanThanhDK = DateTime.Now;

                    if (Request.Form["TrangThaiDangKi"] == "0")
                    {

                    }
                    else if (Request.Form["TrangThaiDangKi"] == "1")
                    {
                        item.MaTruongDH = db.TbTruongDHs.Where(m => m.TenTruongDH.ToLower() == "đại học điện lực").FirstOrDefault().MaTruongDH;
                        // Điểm 3 môn Toán, Văn, Anh
                        string[] MangMaMon1 = Request.Form["SubjectRecruitmentBasic"].Split(',');
                        string[] MangDiemMon1 = Request.Form["MarkRecruitmentBasic"].Split(',');
                        string ten = "";
                        for (int i = 0; i < MangMaMon1.Length; i++)
                        {
                            if (MangDiemMon1[i].Trim() != "")
                            {
                                ten = MangMaMon1[i];
                                var mamon = db.TbMonTotNghieps.Where(m => m.TenMon == ten).FirstOrDefault().MaMon;
                                diem = new TbDiemTotNghiep { MaTS = item.MaTS, MaMon = mamon, Diem = double.Parse(MangDiemMon1[i].Trim()) };
                                db.TbDiemTotNghieps.Add(diem);
                            }
                            
                        }
                        //Điểm môn tùy chọn
                        if (Request.Form["ddlMarkRecruitmentBasic"].Trim() != "")
                        {
                            diem = new TbDiemTotNghiep { MaTS = item.MaTS, MaMon = Int32.Parse(Request.Form["ddlSubjectRecruitmentBasic"].Trim()), Diem = double.Parse(Request.Form["ddlMarkRecruitmentBasic"].Trim()) };
                            db.TbDiemTotNghieps.Add(diem);
                        }
                        //item.MaHeDaoTao = Int32.Parse(Request.Form["HDT"]);
                    }
                    else
                    {
                        // Điểm 3 môn Toán, Văn, Anh
                        string[] MangMaMon1 = Request.Form["SubjectRecruitment"].Split(',');
                        string[] MangDiemMon1 = Request.Form["MarkRecruitment"].Split(',');
                        string ten = "";
                        for (int i = 0; i < MangMaMon1.Length; i++)
                        {
                            if (MangDiemMon1[i].Trim() != "")
                            {
                                ten = MangMaMon1[i];
                                var mamon = db.TbMonTotNghieps.Where(m => m.TenMon == ten).FirstOrDefault().MaMon;
                                diem = new TbDiemTotNghiep { MaTS = item.MaTS, MaMon = mamon, Diem = double.Parse(MangDiemMon1[i].Trim()) };
                                db.TbDiemTotNghieps.Add(diem);
                            }
                            
                        }
                        //Điểm môn tùy chọn
                        if (Request.Form["ddlMarkRecruitment"].Trim() != "")
                        {
                            diem = new TbDiemTotNghiep { MaTS = item.MaTS, MaMon = Int32.Parse(Request.Form["ddlSubjectRecruitment"].Trim()), Diem = double.Parse(Request.Form["ddlMarkRecruitment"].Trim()) };
                            db.TbDiemTotNghieps.Add(diem);
                        }
                        // Điểm môn thi thêm
                        if (Request.Form["IDInput"] != null && Request.Form["MarkSubject"] != null)
                        {
                            string[] MangMaMon3 = Request.Form["IDInput"].Split(',');
                            string[] MangDiemMon3 = Request.Form["MarkSubject"].Split(',');
                            for (int i = 0; i < MangMaMon3.Length; i++)
                            {
                                if (MangDiemMon3[i].Trim() != "")
                                {
                                    diem = new TbDiemTotNghiep { MaTS = item.MaTS, MaMon = Int32.Parse(MangMaMon3[i]), Diem = double.Parse(MangDiemMon3[i]) };
                                    db.TbDiemTotNghieps.Add(diem);
                                }
                            }
                        }
                        
                    }
                    // Lưu hệ khác
                    if (HeCaoDang)
                    {
                        var Ma1 = db.TbHeDaoTaos.Where(m => m.TenHeDaoTao.ToLower() == "Cao đẳng nghề".ToLower()).FirstOrDefault().MaHeDaoTao;
                        db.TbThiSinh_HeDaoTaos.Add(new TbThiSinh_HeDaoTao { MaHeDaoTao = Ma1, MaTS = item.MaTS });
                    }
                    if (HeTrungCap)
                    {
                        var Ma2 = db.TbHeDaoTaos.Where(m => m.TenHeDaoTao.ToLower() == "Trung cấp chính quy".ToLower()).FirstOrDefault().MaHeDaoTao;
                        db.TbThiSinh_HeDaoTaos.Add(new TbThiSinh_HeDaoTao { MaHeDaoTao = Ma2, MaTS = item.MaTS });
                    }
                    item.MaHeDaoTao = Int32.Parse(Request.Form["HDT"]);
                    db.TbThiSinhs.Add(item);
                    nguoidung = new TbNguoiDung { TenDangNhap = item.MaTS, MaQuyen = 3, MatKhau = DuLieuChung.MaHoaMD5("123456"), RandomPass = "1234zxcv", KhoaTaiKhoan = 0 };
                    db.TbNguoiDungs.Add(nguoidung);
                    SaveChanges(db);
                    //}                    
                }
            }
            //var mamon = db.TbDiemTotNghieps.Include(m => m.MaTS).Where(m => m.MaTS == item.MaTS).FirstOrDefault().MaMon;
            //ViewBag.MonTotNghiep = new SelectList(db.TbMonTotNghieps.ToList(), "MaMon", "TenMon", mamon);
            //var matinh = db.TbThiSinhs.Include(m => m.MaHuyen).Where(m => m.MaTS == item.MaTS).FirstOrDefault().TbHuyen.MaTinh;
            //ViewBag.Tinh = new SelectList(db.TbTinhs.ToList(), "MaTinh", "TenTinh", matinh);
            //ViewBag.Huyen = new SelectList(db.TbHuyens.ToList(), "MaHuyen", "TenHuyen", item.MaHuyen);
            //var manganh = (from m in db.TbChuyenNganhs where (m.MaChuyenNganh == item.MaChuyenNganh) select m).First().IDNganh;
            //ViewBag.Nganh = new SelectList(db.TbNganhs.ToList(), "IDNganh", "TenNganh", manganh);
            //ViewBag.ChuyenNganh = new SelectList(db.TbChuyenNganhs.ToList(), "MaChuyenNganh", "TenChuyenNganh", item.MaChuyenNganh);
            //var matinh2 = db.TbThiSinhs.Include(m => m.IDTruong).Where(m => m.MaTS == item.MaTS).FirstOrDefault().TbHuyen.MaTinh;
            //ViewBag.TruongTHPT = new SelectList(db.TbTruongTHPTs.ToList(), "IDTruong", "TenTruong", item.IDTruong);
            //ViewBag.TruongHD = new SelectList(db.TbTruongDHs.ToList(), "MaTruongDH", "TenTruongDH", item.MaTruongDH);
            //ViewBag.TinhTruong = new SelectList(db.TbTinhs.ToList(), "MaTinh", "TenTinh", matinh2);
            ////ViewBag.KhuVuc = new SelectList(db.TbKhuVucs.ToList(), "MaKhuVuc", "TenKhuVuc", ThiSinh.MaKhuVuc);
            //ViewBag.XepLoaiHS = new SelectList(db.TbXepLoaiHS.ToList(), "MaXepLoaiHS", "TenXepLoaiHS", item.MaXepLoaiHS);
            //ViewBag.DanToc = new SelectList(db.TbDanTocs.ToList(), "MaDanToc", "TenDanToc", item.MaDanToc);
            //ViewBag.DoiTuongUuTien = new SelectList(db.TbDoiTuongUuTiens.ToList(), "MaDoiTuong", "TenDoiTuong", item.MaDoiTuong);
            //var IDNganh = db.TbThiSinhs.Include(m => m.TbChuyenNganh).Where(m => m.MaTS == item.MaTS).FirstOrDefault().TbChuyenNganh.IDNganh;
            //var makhoithi = db.TbChuyenNganhs.Include(m => m.TbNganh).Where(m => m.IDNganh == IDNganh).FirstOrDefault().TbNganh.MaKhoiThi;
            //ViewBag.KhoiThi = new SelectList(db.TbKhoiThis.ToList(), "MaKhoiThi", "TenKhoiThi", makhoithi);
            //ViewBag.HeDaoTao = new SelectList(db.TbHeDaoTaos.ToList(), "MaHeDaoTao", "TenHeDaoTao", item.MaHeDaoTao);

            //return RedirectToAction("Index", "Home");
            //ModelState.Clear();
            return RedirectToAction("GuiTinNhanXacNhan", new { MaTS = item.MaTS });

        }

        public ActionResult GuiTinNhanXacNhan(string MaTS)
        {
            ViewBag.MaTS = MaTS;
            return View();
        }
        private void SaveChanges(DbContext context)
        {
            try
            {
                context.SaveChanges();
            }
            catch (DbEntityValidationException ex)
            {
                StringBuilder sb = new StringBuilder();

                foreach (var failure in ex.EntityValidationErrors)
                {
                    sb.AppendFormat("{0} failed validation\n", failure.Entry.Entity.GetType());
                    foreach (var error in failure.ValidationErrors)
                    {
                        sb.AppendFormat("- {0} : {1}", error.PropertyName, error.ErrorMessage);
                        sb.AppendLine();
                    }
                }

                throw new DbEntityValidationException(
                    "Entity Validation Failed - errors follow:\n" +
                    sb.ToString(), ex
                ); // Add the original exception as the innerException
            }
        }

        //[HttpGet]
        //public ActionResult HeDaoTao(string HDT)
        //{
        //    ViewBag.HeDaoTao = new SelectList(db.TbHeDaoTaos.ToList(), "MaHeDaoTao", "TenHeDaoTao");

        //    return View();
        //}
        //[HttpPost]
        //[ValidateAntiForgeryToken]
        //public ActionResult HeDaoTao()
        //{
        //    //if (Request.Form["HDT"] != null)
        //    //{
        //    ViewBag.HeDaoTao = new SelectList(db.TbHeDaoTaos.ToList(), "MaHeDaoTao", "TenHeDaoTao");
        //    int HDT = Int32.Parse(Request.Form["HDT"]);
        //    var hedt = db.TbHeDaoTaos.Where(m => m.MaHeDaoTao == HDT).FirstOrDefault().TenHeDaoTao;
        //    if (hedt.ToLower().Trim() == "Đại học".ToLower() || hedt.ToLower().Trim() == "Cao đẳng".ToLower())
        //    {
        //        return RedirectToAction("PhieuDK", "Common");
        //    }
        //    //else
        //    //{
        //    //return RedirectToAction("Profile", "Home");
        //    //}
        //    return RedirectToAction("DKNghe", "Common");
        //    //}
        //    //return View();
        //}
        public ActionResult DKNghe(string MaTS)
        {
            TbThiSinh ThiSinh = new TbThiSinh();
            if (ModelState.IsValid)
            {
                if (Session["TenDangNhap"] != null)
                    MaTS = MaTS ?? Session["TenDangNhap"].ToString();

                if (MaTS == null)
                {
                    //var ListTS = db.TbHeDaoTaos.Where(m => m.TenHeDaoTao.ToLower() == "Cao đẳng nghề".ToLower() || m.TenHeDaoTao.ToLower() == "Trung cấp chính quy".ToLower()).ToList();
                    //ViewBag.HeDaoTao = new SelectList(ListTS, "MaHeDaoTao", "TenHeDaoTao");
                    ViewBag.Tinh = new SelectList(db.TbTinhs.ToList(), "MaTinh", "TenTinh");
                    ViewBag.MonTotNghiep = new SelectList(db.TbMonTotNghieps.Where(m => m.TenMon.ToLower() != "Toán".ToLower() && m.TenMon.ToLower() != "Ngữ văn".ToLower() && m.TenMon.ToLower() != "Tiếng Anh".ToLower()).ToList(), "MaMon", "TenMon");
                    ViewBag.TinhTruong = new SelectList(db.TbTinhs.ToList(), "MaTinh", "TenTinh");
                    ViewBag.Huyen = new SelectList(db.TbHuyens.ToList(), "MaHuyen", "TenHuyen");
                    ViewBag.Nganh = new SelectList(db.TbNganhs.ToList(), "IDNganh", "TenNganh");
                    ViewBag.ChuyenNganh = new SelectList(db.TbChuyenNganhs.ToList(), "MaChuyenNganh", "TenChuyenNganh");
                    ViewBag.TruongTHPT = new SelectList(db.TbTruongTHPTs.ToList(), "IDTruong", "TenTruong");
                    //ViewBag.TruongDH = new SelectList(db.TbTruongDHs.ToList(), "MaTruongDH", "TenTruongDH");
                    //ViewBag.KhuVuc = new SelectList(db.TbKhuVucs.ToList(), "MaKhuVuc", "TenKhuVuc");
                    ViewBag.XepLoaiHS = new SelectList(db.TbXepLoaiHS.ToList(), "MaXepLoaiHS", "TenXepLoaiHS");
                    ViewBag.DanToc = new SelectList(db.TbDanTocs.ToList(), "MaDanToc", "TenDanToc");
                    ViewBag.DoiTuongUuTien = new SelectList(db.TbDoiTuongUuTiens.ToList(), "MaDoiTuong", "TenDoiTuong");
                    ViewBag.KhoiThi = new SelectList(db.TbKhoiThis.ToList(), "MaKhoiThi", "TenKhoiThi");
                    ViewBag.HeDaoTao = new SelectList(db.TbHeDaoTaos.ToList(), "MaHeDaoTao", "TenHeDaoTao");
                }
                else
                {
                    ThiSinh = db.TbThiSinhs.First(e => e.MaTS == MaTS);
                    var mamon = db.TbDiemTotNghieps.Include(m => m.MaTS).Where(m => m.MaTS == ThiSinh.MaTS).FirstOrDefault().MaMon;
                    ViewBag.MonTotNghiep = new SelectList(db.TbMonTotNghieps.ToList(), "MaMon", "TenMon", mamon);
                    var matinh = db.TbThiSinhs.Include(m => m.MaHuyen).Where(m => m.MaTS == ThiSinh.MaTS).FirstOrDefault().TbHuyen.MaTinh;
                    ViewBag.Tinh = new SelectList(db.TbTinhs.ToList(), "MaTinh", "TenTinh", matinh);
                    ViewBag.Huyen = new SelectList(db.TbHuyens.ToList(), "MaHuyen", "TenHuyen", ThiSinh.MaHuyen);
                    var manganh = (from m in db.TbChuyenNganhs where (m.MaChuyenNganh == ThiSinh.MaChuyenNganh) select m).First().IDNganh;
                    ViewBag.Nganh = new SelectList(db.TbNganhs.ToList(), "IDNganh", "TenNganh", manganh);
                    ViewBag.ChuyenNganh = new SelectList(db.TbChuyenNganhs.ToList(), "MaChuyenNganh", "TenChuyenNganh", ThiSinh.MaChuyenNganh);
                    var matinh2 = db.TbThiSinhs.Include(m => m.IDTruong).Where(m => m.MaTS == ThiSinh.MaTS).FirstOrDefault().TbHuyen.MaTinh;
                    ViewBag.TruongTHPT = new SelectList(db.TbTruongTHPTs.ToList(), "IDTruong", "TenTruong", ThiSinh.IDTruong);
                    //ViewBag.TruongHD = new SelectList(db.TbTruongDHs.ToList(), "MaTruongDH", "TenTruongDH", ThiSinh.MaTruongDH);
                    ViewBag.TinhTruong = new SelectList(db.TbTinhs.ToList(), "MaTinh", "TenTinh", matinh2);
                    //ViewBag.KhuVuc = new SelectList(db.TbKhuVucs.ToList(), "MaKhuVuc", "TenKhuVuc", ThiSinh.MaKhuVuc);
                    ViewBag.XepLoaiHS = new SelectList(db.TbXepLoaiHS.ToList(), "MaXepLoaiHS", "TenXepLoaiHS", ThiSinh.MaXepLoaiHS);
                    ViewBag.DanToc = new SelectList(db.TbDanTocs.ToList(), "MaDanToc", "TenDanToc", ThiSinh.MaDanToc);
                    ViewBag.DoiTuongUuTien = new SelectList(db.TbDoiTuongUuTiens.ToList(), "MaDoiTuong", "TenDoiTuong", ThiSinh.MaDoiTuong);
                    var IDNganh = db.TbThiSinhs.Include(m => m.TbChuyenNganh).Where(m => m.MaTS == ThiSinh.MaTS).FirstOrDefault().TbChuyenNganh.IDNganh;
                    var makhoithi = db.TbChuyenNganhs.Include(m => m.TbNganh).Where(m => m.IDNganh == IDNganh).FirstOrDefault().TbNganh.MaKhoiThi;
                    ViewBag.KhoiThi = new SelectList(db.TbKhoiThis.ToList(), "MaKhoiThi", "TenKhoiThi", makhoithi);
                    ViewBag.HeDaoTao = new SelectList(db.TbHeDaoTaos.ToList(), "MaHeDaoTao", "TenHeDaoTao", ThiSinh.MaHeDaoTao);
                }
            }


            if (Request.IsAjaxRequest() || MaTS != null)
                return PartialView(ThiSinh);

            return View(ThiSinh);
        }

        //[ChildActionOnly]
        public ActionResult Step2_Examination()
        {
            //TbThiSinh ThiSinh = new TbThiSinh();
            //if (ModelState.IsValid)
            //{
            //    if (Session["TenDangNhap"] != null)
            //        MaTS = MaTS ?? Session["TenDangNhap"].ToString();

            //    if (MaTS == null)
            //    {
                    var ListTS = db.TbHeDaoTaos.Where(m => m.TenHeDaoTao.ToLower() == "Đại học chính quy".ToLower() || m.TenHeDaoTao.ToLower() == "Cao đẳng chính quy".ToLower()).ToList();
                    ViewBag.HeDaoTao = new SelectList(ListTS, "MaHeDaoTao", "TenHeDaoTao");
                    //ViewBag.HeDaoTao = new SelectList(db.TbHeDaoTaos.ToList(), "MaHeDaoTao", "TenHeDaoTao");
                    //ViewBag.Tinh = new SelectList(db.TbTinhs.ToList(), "MaTinh", "TenTinh");
                    ViewBag.MonTotNghiep = new SelectList(db.TbMonTotNghieps.Where(m => m.TenMon.ToLower() != "Toán".ToLower() && m.TenMon.ToLower() != "Ngữ văn".ToLower() && m.TenMon.ToLower() != "Tiếng Anh".ToLower()).ToList(), "MaMon", "TenMon");
                    //ViewBag.TinhTruong = new SelectList(db.TbTinhs.ToList(), "MaTinh", "TenTinh");
                    //ViewBag.Huyen = new SelectList(db.TbHuyens.ToList(), "MaHuyen", "TenHuyen");
                    ViewBag.Nganh = new SelectList(db.TbNganhs.ToList(), "IDNganh", "TenNganh");
                    ViewBag.ChuyenNganh = new SelectList(db.TbChuyenNganhs.ToList(), "MaChuyenNganh", "TenChuyenNganh");
                    //ViewBag.TruongTHPT = new SelectList(db.TbTruongTHPTs.ToList(), "IDTruong", "TenTruong");
                    //ViewBag.TruongDH = new SelectList(db.TbTruongDHs.ToList(), "MaTruongDH", "TenTruongDH");
                    //ViewBag.KhuVuc = new SelectList(db.TbKhuVucs.ToList(), "MaKhuVuc", "TenKhuVuc");
                    //ViewBag.XepLoaiHS = new SelectList(db.TbXepLoaiHS.ToList(), "MaXepLoaiHS", "TenXepLoaiHS");
                    //ViewBag.DanToc = new SelectList(db.TbDanTocs.ToList(), "MaDanToc", "TenDanToc");
                    //ViewBag.DoiTuongUuTien = new SelectList(db.TbDoiTuongUuTiens.ToList(), "MaDoiTuong", "TenDoiTuong");
                    ViewBag.KhoiThi = new SelectList(db.TbKhoiThis.ToList(), "MaKhoiThi", "TenKhoiThi");
                    //ViewBag.HeDaoTao = new SelectList(db.TbHeDaoTaos.ToList(), "MaHeDaoTao", "TenHeDaoTao");
                //}
                //else
                //{
                //    ThiSinh = db.TbThiSinhs.First(e => e.MaTS == MaTS);
                //    var mamon = db.TbDiemTotNghieps.Include(m => m.MaTS).Where(m => m.MaTS == ThiSinh.MaTS).FirstOrDefault().MaMon;
                //    ViewBag.MonTotNghiep = new SelectList(db.TbMonTotNghieps.ToList(), "MaMon", "TenMon", mamon);
                //    //var matinh = db.TbThiSinhs.Include(m => m.MaHuyen).Where(m => m.MaTS == ThiSinh.MaTS).FirstOrDefault().TbHuyen.MaTinh;
                //    //ViewBag.Tinh = new SelectList(db.TbTinhs.ToList(), "MaTinh", "TenTinh", matinh);
                //    //ViewBag.Huyen = new SelectList(db.TbHuyens.ToList(), "MaHuyen", "TenHuyen", ThiSinh.MaHuyen);
                //    var manganh = (from m in db.TbChuyenNganhs where (m.MaChuyenNganh == ThiSinh.MaChuyenNganh) select m).First().IDNganh;
                //    ViewBag.Nganh = new SelectList(db.TbNganhs.ToList(), "IDNganh", "TenNganh", manganh);
                //    ViewBag.ChuyenNganh = new SelectList(db.TbChuyenNganhs.ToList(), "MaChuyenNganh", "TenChuyenNganh", ThiSinh.MaChuyenNganh);
                //    //var matinh2 = db.TbThiSinhs.Include(m => m.IDTruong).Where(m => m.MaTS == ThiSinh.MaTS).FirstOrDefault().TbHuyen.MaTinh;
                //    //ViewBag.TruongTHPT = new SelectList(db.TbTruongTHPTs.ToList(), "IDTruong", "TenTruong", ThiSinh.IDTruong);
                //    //ViewBag.TruongHD = new SelectList(db.TbTruongDHs.ToList(), "MaTruongDH", "TenTruongDH", ThiSinh.MaTruongDH);
                //    //ViewBag.TinhTruong = new SelectList(db.TbTinhs.ToList(), "MaTinh", "TenTinh", matinh2);
                //    //ViewBag.KhuVuc = new SelectList(db.TbKhuVucs.ToList(), "MaKhuVuc", "TenKhuVuc", ThiSinh.MaKhuVuc);
                //    //ViewBag.XepLoaiHS = new SelectList(db.TbXepLoaiHS.ToList(), "MaXepLoaiHS", "TenXepLoaiHS", ThiSinh.MaXepLoaiHS);
                //    //ViewBag.DanToc = new SelectList(db.TbDanTocs.ToList(), "MaDanToc", "TenDanToc", ThiSinh.MaDanToc);
                //    //ViewBag.DoiTuongUuTien = new SelectList(db.TbDoiTuongUuTiens.ToList(), "MaDoiTuong", "TenDoiTuong", ThiSinh.MaDoiTuong);
                //    var IDNganh = db.TbThiSinhs.Include(m => m.TbChuyenNganh).Where(m => m.MaTS == ThiSinh.MaTS).FirstOrDefault().TbChuyenNganh.IDNganh;
                //    var makhoithi = db.TbChuyenNganhs.Include(m => m.TbNganh).Where(m => m.IDNganh == IDNganh).FirstOrDefault().TbNganh.MaKhoiThi;
                //    ViewBag.KhoiThi = new SelectList(db.TbKhoiThis.ToList(), "MaKhoiThi", "TenKhoiThi", makhoithi);
                //    ViewBag.HeDaoTao = new SelectList(db.TbHeDaoTaos.ToList(), "MaHeDaoTao", "TenHeDaoTao", ThiSinh.MaHeDaoTao);
                //}
            //}


            //if (Request.IsAjaxRequest() || MaTS != null)
                return PartialView();

            //return View(ThiSinh);
        }
        public ActionResult Step2_Recruiting()
        {
            //TbThiSinh ThiSinh = new TbThiSinh();
            //if (ModelState.IsValid)
            //{
            //    if (Session["TenDangNhap"] != null)
            //        MaTS = MaTS ?? Session["TenDangNhap"].ToString();

            //    if (MaTS == null)
            //    {
            var ListTS = db.TbHeDaoTaos.Where(m => m.TenHeDaoTao.ToLower() == "Đại học chính quy".ToLower() || m.TenHeDaoTao.ToLower() == "Cao đẳng chính quy".ToLower()).ToList();
            ViewBag.HeDaoTao = new SelectList(ListTS, "MaHeDaoTao", "TenHeDaoTao");
            //ViewBag.Tinh = new SelectList(db.TbTinhs.ToList(), "MaTinh", "TenTinh");
            ViewBag.MonTotNghiep = new SelectList(db.TbMonTotNghieps.Where(m => m.TenMon.ToLower() != "Toán".ToLower() && m.TenMon.ToLower() != "Ngữ văn".ToLower() && m.TenMon.ToLower() != "Tiếng Anh".ToLower()).ToList(), "MaMon", "TenMon");
            //ViewBag.TinhTruong = new SelectList(db.TbTinhs.ToList(), "MaTinh", "TenTinh");
            //ViewBag.Huyen = new SelectList(db.TbHuyens.ToList(), "MaHuyen", "TenHuyen");
            ViewBag.Nganh = new SelectList(db.TbNganhs.ToList(), "IDNganh", "TenNganh");
            ViewBag.ChuyenNganh = new SelectList(db.TbChuyenNganhs.ToList(), "MaChuyenNganh", "TenChuyenNganh");
            //ViewBag.TruongTHPT = new SelectList(db.TbTruongTHPTs.ToList(), "IDTruong", "TenTruong");
            ViewBag.TruongDH = new SelectList(db.TbTruongDHs.ToList(), "MaTruongDH", "TenTruongDH");
            //ViewBag.KhuVuc = new SelectList(db.TbKhuVucs.ToList(), "MaKhuVuc", "TenKhuVuc");
            //ViewBag.XepLoaiHS = new SelectList(db.TbXepLoaiHS.ToList(), "MaXepLoaiHS", "TenXepLoaiHS");
            //ViewBag.DanToc = new SelectList(db.TbDanTocs.ToList(), "MaDanToc", "TenDanToc");
            //ViewBag.DoiTuongUuTien = new SelectList(db.TbDoiTuongUuTiens.ToList(), "MaDoiTuong", "TenDoiTuong");
            ViewBag.KhoiThi = new SelectList(db.TbKhoiThis.ToList(), "MaKhoiThi", "TenKhoiThi");
            //ViewBag.HeDaoTao = new SelectList(db.TbHeDaoTaos.ToList(), "MaHeDaoTao", "TenHeDaoTao");
            //}
            //else
            //{
            //    ThiSinh = db.TbThiSinhs.First(e => e.MaTS == MaTS);
            //    var mamon = db.TbDiemTotNghieps.Include(m => m.MaTS).Where(m => m.MaTS == ThiSinh.MaTS).FirstOrDefault().MaMon;
            //    ViewBag.MonTotNghiep = new SelectList(db.TbMonTotNghieps.ToList(), "MaMon", "TenMon", mamon);
            //    //var matinh = db.TbThiSinhs.Include(m => m.MaHuyen).Where(m => m.MaTS == ThiSinh.MaTS).FirstOrDefault().TbHuyen.MaTinh;
            //    //ViewBag.Tinh = new SelectList(db.TbTinhs.ToList(), "MaTinh", "TenTinh", matinh);
            //    //ViewBag.Huyen = new SelectList(db.TbHuyens.ToList(), "MaHuyen", "TenHuyen", ThiSinh.MaHuyen);
            //    var manganh = (from m in db.TbChuyenNganhs where (m.MaChuyenNganh == ThiSinh.MaChuyenNganh) select m).First().IDNganh;
            //    ViewBag.Nganh = new SelectList(db.TbNganhs.ToList(), "IDNganh", "TenNganh", manganh);
            //    ViewBag.ChuyenNganh = new SelectList(db.TbChuyenNganhs.ToList(), "MaChuyenNganh", "TenChuyenNganh", ThiSinh.MaChuyenNganh);
            //    //var matinh2 = db.TbThiSinhs.Include(m => m.IDTruong).Where(m => m.MaTS == ThiSinh.MaTS).FirstOrDefault().TbHuyen.MaTinh;
            //    //ViewBag.TruongTHPT = new SelectList(db.TbTruongTHPTs.ToList(), "IDTruong", "TenTruong", ThiSinh.IDTruong);
            //    //ViewBag.TruongHD = new SelectList(db.TbTruongDHs.ToList(), "MaTruongDH", "TenTruongDH", ThiSinh.MaTruongDH);
            //    //ViewBag.TinhTruong = new SelectList(db.TbTinhs.ToList(), "MaTinh", "TenTinh", matinh2);
            //    //ViewBag.KhuVuc = new SelectList(db.TbKhuVucs.ToList(), "MaKhuVuc", "TenKhuVuc", ThiSinh.MaKhuVuc);
            //    //ViewBag.XepLoaiHS = new SelectList(db.TbXepLoaiHS.ToList(), "MaXepLoaiHS", "TenXepLoaiHS", ThiSinh.MaXepLoaiHS);
            //    //ViewBag.DanToc = new SelectList(db.TbDanTocs.ToList(), "MaDanToc", "TenDanToc", ThiSinh.MaDanToc);
            //    //ViewBag.DoiTuongUuTien = new SelectList(db.TbDoiTuongUuTiens.ToList(), "MaDoiTuong", "TenDoiTuong", ThiSinh.MaDoiTuong);
            //    var IDNganh = db.TbThiSinhs.Include(m => m.TbChuyenNganh).Where(m => m.MaTS == ThiSinh.MaTS).FirstOrDefault().TbChuyenNganh.IDNganh;
            //    var makhoithi = db.TbChuyenNganhs.Include(m => m.TbNganh).Where(m => m.IDNganh == IDNganh).FirstOrDefault().TbNganh.MaKhoiThi;
            //    ViewBag.KhoiThi = new SelectList(db.TbKhoiThis.ToList(), "MaKhoiThi", "TenKhoiThi", makhoithi);
            //    ViewBag.HeDaoTao = new SelectList(db.TbHeDaoTaos.ToList(), "MaHeDaoTao", "TenHeDaoTao", ThiSinh.MaHeDaoTao);
            //}
            //}


            //if (Request.IsAjaxRequest() || MaTS != null)
            return PartialView();

            //return View(ThiSinh);
        }
        public ActionResult Step2_RecruitingBasic()
        {
            //TbThiSinh ThiSinh = new TbThiSinh();
            //if (ModelState.IsValid)
            //{
            //    if (Session["TenDangNhap"] != null)
            //        MaTS = MaTS ?? Session["TenDangNhap"].ToString();

            //    if (MaTS == null)
            //    {
            var ListTS = db.TbHeDaoTaos.Where(m => m.TenHeDaoTao.ToLower() == "Đại học chính quy".ToLower() || m.TenHeDaoTao.ToLower() == "Cao đẳng chính quy".ToLower()).ToList();
            ViewBag.HeDaoTao = new SelectList(ListTS, "MaHeDaoTao", "TenHeDaoTao");
            //ViewBag.Tinh = new SelectList(db.TbTinhs.ToList(), "MaTinh", "TenTinh");
            ViewBag.MonTotNghiep = new SelectList(db.TbMonTotNghieps.Where(m => m.TenMon.ToLower() != "Toán".ToLower() && m.TenMon.ToLower() != "Ngữ văn".ToLower() && m.TenMon.ToLower() != "Tiếng Anh".ToLower()).ToList(), "MaMon", "TenMon");
            //ViewBag.TinhTruong = new SelectList(db.TbTinhs.ToList(), "MaTinh", "TenTinh");
            //ViewBag.Huyen = new SelectList(db.TbHuyens.ToList(), "MaHuyen", "TenHuyen");
            ViewBag.Nganh = new SelectList(db.TbNganhs.ToList(), "IDNganh", "TenNganh");
            ViewBag.ChuyenNganh = new SelectList(db.TbChuyenNganhs.ToList(), "MaChuyenNganh", "TenChuyenNganh");
            //ViewBag.TruongTHPT = new SelectList(db.TbTruongTHPTs.ToList(), "IDTruong", "TenTruong");
            ViewBag.TruongDH = new SelectList(db.TbTruongDHs.ToList(), "MaTruongDH", "TenTruongDH");
            //ViewBag.KhuVuc = new SelectList(db.TbKhuVucs.ToList(), "MaKhuVuc", "TenKhuVuc");
            //ViewBag.XepLoaiHS = new SelectList(db.TbXepLoaiHS.ToList(), "MaXepLoaiHS", "TenXepLoaiHS");
            //ViewBag.DanToc = new SelectList(db.TbDanTocs.ToList(), "MaDanToc", "TenDanToc");
            //ViewBag.DoiTuongUuTien = new SelectList(db.TbDoiTuongUuTiens.ToList(), "MaDoiTuong", "TenDoiTuong");
            ViewBag.KhoiThi = new SelectList(db.TbKhoiThis.ToList(), "MaKhoiThi", "TenKhoiThi");
            //ViewBag.HeDaoTao = new SelectList(db.TbHeDaoTaos.ToList(), "MaHeDaoTao", "TenHeDaoTao");
            //}
            //else
            //{
            //    ThiSinh = db.TbThiSinhs.First(e => e.MaTS == MaTS);
            //    var mamon = db.TbDiemTotNghieps.Include(m => m.MaTS).Where(m => m.MaTS == ThiSinh.MaTS).FirstOrDefault().MaMon;
            //    ViewBag.MonTotNghiep = new SelectList(db.TbMonTotNghieps.ToList(), "MaMon", "TenMon", mamon);
            //    //var matinh = db.TbThiSinhs.Include(m => m.MaHuyen).Where(m => m.MaTS == ThiSinh.MaTS).FirstOrDefault().TbHuyen.MaTinh;
            //    //ViewBag.Tinh = new SelectList(db.TbTinhs.ToList(), "MaTinh", "TenTinh", matinh);
            //    //ViewBag.Huyen = new SelectList(db.TbHuyens.ToList(), "MaHuyen", "TenHuyen", ThiSinh.MaHuyen);
            //    var manganh = (from m in db.TbChuyenNganhs where (m.MaChuyenNganh == ThiSinh.MaChuyenNganh) select m).First().IDNganh;
            //    ViewBag.Nganh = new SelectList(db.TbNganhs.ToList(), "IDNganh", "TenNganh", manganh);
            //    ViewBag.ChuyenNganh = new SelectList(db.TbChuyenNganhs.ToList(), "MaChuyenNganh", "TenChuyenNganh", ThiSinh.MaChuyenNganh);
            //    //var matinh2 = db.TbThiSinhs.Include(m => m.IDTruong).Where(m => m.MaTS == ThiSinh.MaTS).FirstOrDefault().TbHuyen.MaTinh;
            //    //ViewBag.TruongTHPT = new SelectList(db.TbTruongTHPTs.ToList(), "IDTruong", "TenTruong", ThiSinh.IDTruong);
            //    //ViewBag.TruongHD = new SelectList(db.TbTruongDHs.ToList(), "MaTruongDH", "TenTruongDH", ThiSinh.MaTruongDH);
            //    //ViewBag.TinhTruong = new SelectList(db.TbTinhs.ToList(), "MaTinh", "TenTinh", matinh2);
            //    //ViewBag.KhuVuc = new SelectList(db.TbKhuVucs.ToList(), "MaKhuVuc", "TenKhuVuc", ThiSinh.MaKhuVuc);
            //    //ViewBag.XepLoaiHS = new SelectList(db.TbXepLoaiHS.ToList(), "MaXepLoaiHS", "TenXepLoaiHS", ThiSinh.MaXepLoaiHS);
            //    //ViewBag.DanToc = new SelectList(db.TbDanTocs.ToList(), "MaDanToc", "TenDanToc", ThiSinh.MaDanToc);
            //    //ViewBag.DoiTuongUuTien = new SelectList(db.TbDoiTuongUuTiens.ToList(), "MaDoiTuong", "TenDoiTuong", ThiSinh.MaDoiTuong);
            //    var IDNganh = db.TbThiSinhs.Include(m => m.TbChuyenNganh).Where(m => m.MaTS == ThiSinh.MaTS).FirstOrDefault().TbChuyenNganh.IDNganh;
            //    var makhoithi = db.TbChuyenNganhs.Include(m => m.TbNganh).Where(m => m.IDNganh == IDNganh).FirstOrDefault().TbNganh.MaKhoiThi;
            //    ViewBag.KhoiThi = new SelectList(db.TbKhoiThis.ToList(), "MaKhoiThi", "TenKhoiThi", makhoithi);
            //    ViewBag.HeDaoTao = new SelectList(db.TbHeDaoTaos.ToList(), "MaHeDaoTao", "TenHeDaoTao", ThiSinh.MaHeDaoTao);
            //}
            //}


            //if (Request.IsAjaxRequest() || MaTS != null)
            return PartialView();

            //return View(ThiSinh);
        }
        
        [HttpPost]
        public ActionResult DKNghe(TbThiSinh item, bool HeTrungCap=false, bool HeCaoDang=false)
        {
            if (item != null)
            {
                TbNguoiDung nguoidung;
                item.NgayDangKi = DateTime.Now;
                //item.NgaySinh = DateTime.Now;
                if (item.MaTS != null)
                {
                    db.Entry(item).State = EntityState.Modified;
                    db.SaveChanges();
                }
                else
                {
                    //if (ModelState.IsValid)
                    //{
                    item.MaTS = GetID();
                    item.NgayDongTien = DateTime.Now;
                    item.NgayHoanThanhDK = DateTime.Now;
                    var truongdh = db.TbTruongDHs.Where(m => m.TenTruongDH.ToLower() == "Trường ĐH Điện Lực".ToLower()).FirstOrDefault().MaTruongDH;
                    item.MaTruongDH = truongdh;
                    //var hedt = db.TbHeDaoTaos.Select(m => m.MaHeDaoTao);
                    if(HeCaoDang && HeTrungCap)
                    {
                        var hedt = db.TbHeDaoTaos.Where(m => m.TenHeDaoTao.ToLower() == "Cao đẳng nghề".ToLower()).FirstOrDefault().MaHeDaoTao;
                        item.MaHeDaoTao = hedt;
                        db.TbThiSinh_HeDaoTaos.Add(new TbThiSinh_HeDaoTao { MaHeDaoTao = 2, MaTS = item.MaTS });
                    }
                    if (HeCaoDang)
                    {
                        var hedt = db.TbHeDaoTaos.Where(m => m.TenHeDaoTao.ToLower() == "Cao đẳng nghề".ToLower()).FirstOrDefault().MaHeDaoTao;
                        item.MaHeDaoTao = hedt;
                    }
                    if (HeTrungCap)
                    {
                        var hedt = db.TbHeDaoTaos.Where(m => m.TenHeDaoTao.ToLower() == "Trung cấp Chính quy".ToLower()).FirstOrDefault().MaHeDaoTao;
                        item.MaHeDaoTao = hedt;
                    }
                 
                    //item.MaHeDaoTao = HDT;
                    //item.MaHeDaoTao = LoadTrainingSystem;
                    db.TbThiSinhs.Add(item);
                    nguoidung = new TbNguoiDung { TenDangNhap = item.MaTS, MaQuyen = 3, MatKhau = DuLieuChung.MaHoaMD5("123456"), RandomPass = "1234zxcv", KhoaTaiKhoan = 0 };
                    db.TbNguoiDungs.Add(nguoidung);
                    SaveChanges(db);
                    //}                    
                }
            }
            return RedirectToAction("GuiTinNhanXacNhan", new { MaTS = item.MaTS });

        }
    }
}

